package com.yh.util;

import com.yh.javabean.User;
import mapper.UserMapper;
import org.apache.ibatis.session.SqlSession;
import org.apache.ibatis.session.SqlSessionFactory;

import java.util.ArrayList;

public class UserMapperTest {
    public static void main(String[] args) {
        //mapper映射
        //当使用mapper接口进行配置时  会自动查找对应包下的配置文件
        //接口中方法名与配置的id相同进行匹配
        //就可以使用mapper映射查询(Dao设计模式操作)
        //1、创建SqlSessionFactory对象，也是单例模式的
        SqlSessionFactory factory = MyBatisUtil.getSqlSessionFactory();
        //2、创建SqlSession对象 true 自动提交事务 不写也没事 因为默认在sqlsession关闭时提交事务
        SqlSession session = factory.openSession(true);

        //3、获取对应mapper的实现类
        //我们仅定义了接口 实现的方式配置在了对应的配置文件
        //mybatis会自动识别 创建对应接口的实现类给我们使用
        UserMapper mapper = session.getMapper(UserMapper.class);

        //4、调用方法获取结果
        ArrayList<User> users = mapper.selectAll();
        for (User user : users) {
            System.out.println(user);
        }

        //5、关闭资源
        session.close();
    }
}
